﻿# -*- codeing = utf-8 -*-
# @Time: 2021/9/12 14:37
# @Author: Ivan
# @File: 12-字符串.py
# @Software: PyCharm

'''
单引号'和双引号"都可以定义字符串
建议使用双引号"定义字符串
可以和其他编程语言保持一致
'''

str1 = 'hello world'
print(str1)
# 根据索引取值
print(str1[6])

# 遍历
# for c in str1:
#     print(c)

# 统计字符串长度
print(len(str1))

# count统计子串出现的次数
print(str1.count('l'))

# index返回第一次出现该子串的索引
print(str1.index('l'))


# 1.判断方法
# string.isspace() # 只包含空白字符(空格 \r \n \t)
# string.isalnum() # 至少一个字符并且所有字符都是字母或数字
# string.isalpha() # 至少一个字符并且所有字符都是字母
# string.isdecimal() # 只包含数字,全角数字
# string.isdigit() # 只包含数字,全角数字、(1)、\u00b2
# string.isnumeric() # 只包含数字,全角数字,汉字数字
# string.istitle() # 标题化的,每个单词首字母大写
# string.islower() # 小写
# string.isupper() # 大写


# 2.查找和替换
# string.startswith(str) # 以什么靠头
# string.endswith(str) # 以什么结尾
# string.find(str, start=0,end=len(string)) # 在指定范围内查找,不存在返回-1
# string.rfind(str, start=0,end=len(string)) # 同上,从右边开始
# string.index(str, start=0,end=len(string)) # 同find,不存在会报错
# string.rindex(str, start=0,end=len(string)) # 同上,从右边开始
# string.replace(old, new, num) # 将old替换成new,替换num次,返回新字符串不会修改原字符串


# 3.大小写转换
# string.capitalize() # 第一个字符大写
# string.title() # 每个单词首字母大写
# string.lower() # 小写
# string.upper() # 大写
# string.swapcase() # 翻转大小写


# 4.文本对齐
# string.ljust(width) # 左对齐,并用空格填充至width个长度
# string.rjust(width) # 右对齐,并用空格填充至width个长度
# string.center(width) # 居中对齐,并用空格填充至width个长度


# 5.去除空白符
# string.lstrip() # 去掉左边空白字符
# string.rstrip() # 去掉右边空白字符
# string.strip() # 去掉左右两边空白字符


# 6.拆分和连接
# string.partition(str) # 拆分成3个：左边的  str  右边的
# string.rpartition(str) # 同上 从右边开始
# string.split(str, num) # 以str分割(默认使用空白字符分割)  分割num次
# string.splitlines() # 按照('\r', '\n', '\r\n')分割
# string.join(seq) # 用string将seq所有元素合并成一个

# 使用切片逆序输出字符串
str2 = '0123456789'
# str[start:end:step] # 开始位置:结束位置:步长
print(str2[-1::-1])
print(str2[::-1])



# 内置函数
list = [1, 2, 3]
# len
print(len(list))

# del 既可以当关键字  又可以当函数
# del list[1]
# print(list)
# del(list[1])
# print(list)

# max、min对于字典时比较键的大小
print(max(list))
print(min(list))


print([1, 2] * 3)
print((1, 2) * 3)

print([1, 2] + [3, 4])
print((1, 2) + (3, 4))
print('hello ' + 'world')

list = [1, 2, 4]
tmp_list = [4, 5]
list.extend(tmp_list) # 将tmp_list中的每个数据添加到list中
print(list) # [1, 2, 4, 4, 5]

list = [1, 2, 4]
tmp_list = [4, 5]
list.append(tmp_list) # 将tmp_list作为一个整体添加到list中
print(list) # [1, 2, 4, [4, 5]]

print(1 in list)
print(2 not in list)


for a in range(5):
    print(a)
else: # for循环执行结束后执行else,但如果for循环中有break退出循环则不会执行else
    print('code over!')


students = [
    {
        'name': 'tom'
    },
    {
        'name': 'jerry'
    }
]
find = 'jerry'
for stu in students:
    print(stu)
    if stu['name'] == find:
        print('%s 找到了' % find)
        break
else:
    print('没有找到 %s' % find)

